package main

import (
	"dict-server/config"
	"dict-server/db"
	parser "dict-server/utils"
	"log"
	"time"
)

func main() {
	startTime := time.Now()
	log.Println("开始导入单词数据...")

	// 加载配置
	config, err := config.Load()
	if err != nil {
		log.Fatalf("配置加载失败: %v", err)
	}

	// 初始化数据库连接
	if err := db.Init(&config.Database); err != nil {
		log.Fatalf("数据库初始化失败: %v", err)
	}
	defer db.Close()

	// 解析TXT文件
	words, err := parser.ParseTxtFile(config.Import.FilePath)
	if err != nil {
		log.Fatalf("解析文件失败: %v", err)
	}

	log.Printf("成功解析%d个单词，开始导入数据库...", len(words))

	// 批量插入数据库
	_, err = db.InsertWords(words, config.Import.BatchSize)
	if err != nil {
		log.Fatalf("导入数据库失败: %v", err)
	}

	duration := time.Since(startTime)
	log.Printf("导入完成! 总耗时: %v", duration)
}
